<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>sort排序</title>
  <style>
    * {
      margin: 0;
      padding: 0; 
      font-size: 14px;
      box-sizing: border-box
    }
    body {    
      padding: 20px;
    }
    div {
      line-height: 40px
    }
    h1 {
      font-size: 20px
    }
  </style>
</head>
<body>
  <h1>数组排序</h1>
  <div>
    sort方法时对数组的元素进行排序，不传参数的情况下是对数组元素的字符编码进行排序
  </div>
  <div>
    如果想按照其他方式排序，就必须传入一个函数作为参数，参数传入两个值，然后返回一个用于说明这两个值相对顺序的数字
  </div>
  <div>
    比较函数应该具有两个参数a和b，其返回值如下
  </div>
  <div>若a小于b, 在排序后的数组中a应该出现在b之前，则返回一个小于0的值</div>
  <div>若a等于b， 则返回0</div>
  <div>若a大于b，则返回一个大于0的值</div>
  <div>综合上面的升序排列的话 可以直接写出 a-b</div>
</body>
<script>
  var arr = [1, 3, 6, 4, 2, 4, 6, 4, 11]
  var arr1 = [
    {
      name: 'zhangli',
      age: '30'
    },
    {
      name: 'chentian',
      age: '28'
    },
    {
      name: 'zhangziyue',
      age: '1'
    },
    {
      name: 'caizhongxiang',
      age: 50
    }
  ]
  console.dir(arr1.sort(function(a, b) {
    return a['name'].charCodeAt() - b['name'].charCodeAt()
  }))
  console.log('a'.charCodeAt())
</script>
</html>